package com.coocaa.typhoon.api.v1.mysql.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.util.Date;

/**
 * @author bijiahao
 * @date : 2025/9/22 21:07
 * @description
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("user_file")
@Schema(description = "用户文件关联表")
public class UserFileEntity {
    @Schema(
            title = "自增ID",
            description = "主键自增ID"
    )
    @TableId(type = IdType.AUTO)
    private String id;

    @Schema(
            title = "用户ID",
            description = "关联用户标识"
    )
    private String userId;

    @Schema(
            title = "文件类型",
            description = "文件格式分类（如PDF,PNG）"
    )
    private String fileType;

    @Schema(
            title = "文件路径",
            description = "存储位置地址"
    )
    private String filePath;

    @Schema(
            title = "元数据JSON",
            description = "包含拍摄时间、地理位置等扩展信息"
    )
    private String metaDataJson;

    @Schema(
            title = "创建时间",
            description = "记录创建时间戳"
    )
    private Date createdDate;

    @Schema(
            title = "修改时间",
            description = "最后更新时间戳"
    )
    private Date lastUpdateDate;
}
